/**
 * 风机操作分类
 *
 * @export
 * @class TurboperCategory
 */
export class TurboperCategory {

  /**
   * Creates an instance of TurboperCategory.
   * @param {number} operCategoryId 操作类别ID
   * @param {string} operCategoryName 操作类别名称
   * @param {string} operCategoryCode 操作标示
   * @param {string} operCategoryIcon 图标
   * @param {boolean} enabled 是否启用
   * @param {boolean} autoFinish 是否自动完成
   * @param {boolean} controlTurb 是否可以控制风机
   * @param {number} operCategorySeq 排序
   * @param {string} operCategoryColor 颜色
   * @param {string} notAllowWhenStatus 什么状态时不能设置 1|2|3
   * @param {string} generalCategory 分类（计划停机，可利用率等）
   * @param {string} operCategoryKey 子状态测点名
   * @param {boolean} [isChecked=false]
   * @param {boolean} [isDefault=false]
   * @param {boolean} [isStatistic=false] 是否统计
   * @param {number} [totalTurbine=0]
   * @memberof TurboperCategory
   */
  constructor(
    public operCategoryId: number,
    public operCategoryName: string,
    public operCategoryCode: string,
    public operCategoryIcon: string,
    public enabled: boolean,
    public autoFinish: boolean,
    public controlTurb: boolean,
    public operCategorySeq: number,
    public operCategoryColor: string,
    public notAllowWhenStatus: string,
    public generalCategory: string,
    public notAllowWhenStatuNames?: string,
    public generalCategoryNames?: string,
    public operCategoryKey?: string,
    public isChecked: boolean = false,
    public isDefault: boolean = false,
    public isStatistic: boolean = false,
    public totalTurbine: number = 0) {
    Object.defineProperty(this, 'isChecked', {enumerable: false});
    Object.defineProperty(this, 'totalTurbine', {enumerable: false});
  }

}

